/*
 * BoundingRectangle.h
 *
 *  Created on: Jan 21, 2011
 *      Author: Helpful Learn Group
 */

#ifndef BOUNDINGRECTANGLE_H_
#define BOUNDINGRECTANGLE_H_

#include "Shape.h"

namespace GSP280
{
	class BoundingRectangle: public Shape
	{
	private:
		int width;
		int height;
		//int top;
		//int bottom;
		//int left;
		//int right;
		//Vector2 CenterPoint;


	public:
		BoundingRectangle() {}; //C001: DEFAULT CONSTRUCTOR
		BoundingRectangle ( const Vector2 &vec, const int width, const int height ); //C002: OVERLOADED CONSTRUCTOR

		virtual ~BoundingRectangle() {}; //C003: DECONSTRUCTOR


		const int getHeight ( ) const;							//M001: Get Height data member
		void setHeight ( const int &height );					//M002: Set Height data member

		const int getWidth ( ) const;							//M003: Get Width data member
		void setWidth ( const int &width );						//M004: Set Width data member

		//==============================================
		//DECLARING SHAPE ABSTRACT CLASS METHODS.....
		//==============================================
		const double calcArea ( ) const;						//M005: Calculate Obj Area

		void setLocation ( const Vector2 &vect );				//M006: Set Obj Location by Vector
		void setLocation ( const float &x, const float &y );	//M007: Set Obj Location by x,y values

		void setLocation_X ( const float &x );					//M008: Set Obj Location_X
		void setLocation_Y ( const float &y );					//M009: Set Obj Location_Y

		const Vector2 getLocation() const;						//M010: Get Obj Location by Vector
		const float getLocation_X() const;						//M011: Get Obj Location_X
		const float getLocation_Y() const;						//M012: Get Obj Location_Y

		//bool intersects(BoundingRectangle rect);
	};

}

#endif /* BOUNDINGRECTANGLE_H_ */
